The widespread use of computing devices in the home and the office created a need for a means whereby data could be quickly and conveniently transferred from one computing device to another computing device. Modems (modulator-demodulator), in conjuction with the public telephone network, substantially fulfill this need. Modems convert the digital data used by a computing device into an analog signal capable of being transmitted over the public telephone system.
Full duplex operation (the ability to send and receive at the same time) is typically preferred. Also, as the amount of data to be transferred from one device to another is increased, higher data rates (in bits per second) are generally desired in order to reduce connection time and telephone charges, especially where long distance communications are involved. However, a typical telephone line has a limited bandwidth, approximately three kiloHertz, and this limited bandwidth, in conjunction with background noise, crosstalk, and transmission line phase and amplitude distortion, places an upper limit on the rate at which data can be successfully transferred over the telephone line.
In the United States, communication data rates up to 2400 bits per second (bps) are typically full duplex communications and communication data rates in excess of 2400 bps are typically half duplex communications, i.e., a modem can send or receive but not both at the same time.
Some modems can communicate at a data rate of up to 1200 bps, other modems can communicate up to 2400 bps, and some modems can communicate up to 9600 bps. In order for one modem to communicate with another modem, the two modems must agree upon a common data rate. The method by which the two modems agree upon the data rate is commonly called "handshaking". Recommendation V.22 bis of the International Telegraph and Telephone Consultative Committee (CCITT) recommends a handshaking procedure which allows two modems to negotiate whether data will be transferred at 1200 or 2400 bps. However, there is no corresponding recommendation which allows the modems to negotiate whether the data will be transferred at 1200, 2400, 4800 or 9600 bps. Therefore, there is a need for a handshaking procedure which supplements CCITT V.22 bis so as to provide a uniform handshaking method for data transfer rates up to 9600 bps.
Full duplex communications are generally available where the data transfer rate is 2400 bps or less. However, where the data transfer rate is in excess of 2400 bps, full duplex communications devices are often expensive and half duplex operation becomes desirable. With half duplex operation, it becomes desirable for a first modem to instruct a second modem that the first modem is through transmitting and is now ready to receive. CCITT recommendation X.25 provides a frame format for the exchange of data and control information. However, the X.25 format provides more information and control bits than are absolutely necessary. Since these bits must be transmitted with each frame then some of the time which could be used to transmit data is wasted transmitting unnecessary or unused control and information bits. Therefore, there is a need for a half duplex format which uses a minimum number of control and information bits, especially for a control frame where a first modem is advising a second modem that it has no data to transfer.
Most modems use one or two microprocessors to execute the modem functions. However, at a 9600 bps communication rate, instruction execution time may become a limiting factor. Of course, a very high speed microprocessor could be used if the additional cost, power consumption, and localized heat generation can be accommodated. Lower speed, less expensive microprocessors could be used provided that their functions were divided so as to be concurrent and nonoverlapping and provided there was a means of communicating data between the two microprocessors. Therefore, there is a need for a method for splitting the execution tasks between the two microprocessors and a means for allowing the two microprocessors to exchange the necessary data.
Although a communication rate may be described as, for example, 9600 bps, the bandwidth limitations of the telephone line prevent individual bits from being serially transmitted at 9600 bps. In order to achieve and effective data rate of 9600 bps a series of bits is grouped together to form a set of bits. One example of such a set is a quadbit (four bits). The quadbit is then used to modulate the phase and amplitude of the carrier signal. The quadbit is updated at a frequency known as the baud rate. Therefore, if the effective communications rate is 9600 bps, and quadbits are used, then the baud rate is 9600/4=2400 baud. However, in order to accurately recover the quadbit, it is necessary to sample the incoming signal at approximately the same place in each baud. This is accomplished by processing a signal to recover the baud clock. Typically, an oscillator is set to approximately the baud clock frequency and the incoming signal is used to adjust the frequency and phase of this oscillator to exactly match the transmitted baud clock. The oscillator phase is often adjusted, by fixed increments, to match the baud clock phase of the incoming signal. However, if the fixed increments are too large then the oscillator will not be able to precisely track the baud clock and therefore baud clock jitter will occur. Conversely, if the increment size is too small, then it will take the oscillator an excessively long period to lock on to the transmitted baud clock. Therefore, there is a need for a baud clock recovery circuit which allows the recovered baud clock oscillator to quickly and precisely lock on to the transmitted baud clock.